A DHCP server is a component that uses the Dynamic Host Configuration Protocol (DHCP) to provide configuration information to IP hosts on a TCP/IP network. For example, in IP telephone systems such as the Mitel Networks MN3300 telephone system, DHCP servers are used to provide IP addresses to IP devices that connect to the system. Each MN3300 has its own DHCP server, such that when multiple DHCP servers are connected in clusters (e.g. networked MN3300 systems), problems can occur when registering newly connected IP devices.
When an IP device to be controlled by such a system first connects to the network, it must request configuration information (at a minimum, its own IP address and that of its controller) from a DHCP server. It does so by broadcasting a message referred to as DHCP Discovery. The IP device accepts the first response to its request and ignores any others. Once the device receives the required information from the responding DHCP server, it receives a software download from a TFTP server associated with the responding DHCP server and attempts to communicate with its controller using the DHCP-specified IP address. The TFTP server is a component that uses the Trivial File Transfer Protocol (TFTP) to transfer files (e.g. device software loads) from a storage area to a client (e.g. the device 1).
The DHCP server in a MN3300 system is typically configured to provide the IP address of its co-resident controller as part of the configuration information requested from it by an IP device. The DHCP server has no way of determining whether, in fact, a device making the request ‘belongs’ to the controller associated with the server. In a multiple or clustered MN3300 network, any DHCP server may respond to any IP device that broadcasts a Discovery request within the network. This results in the IP device being programmed via a software download from the responding MN3300 system. If an IP device receives an IP address for a controller other than the one on which it has been programmed via the software download to be controlled, its attempt to receive service fails.
One approach to overcoming this problem is to turn off all but one DHCP server in a cluster or network. This requires that the DHCP server be configured to use a unique identifier for the device (typically a Media Access Control or MAC address) to map the appropriate configuration information. It further requires that this identifier be pre-programmed (i.e. mapped to one of multiple controllers) in a database accessible to the DHCP server.
A second approach is to provide one MN3300 (hence, one DHCP) per subnet within a network. However, that requires more complex network architecture.